package cn.always.xiajia.framework.common.enums;

import java.util.Arrays;

import cn.always.xiajia.framework.common.core.IntArrayValuable;
import cn.hutool.core.util.ArrayUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 全局用户类型枚举
 */
@AllArgsConstructor
@Getter
public enum UserTypeEnum implements IntArrayValuable {

	SUPERADMIN(1, "超级管理员"), // 超级管理员

	ADMIN(2, "普通管理员"), // 普通管理员

	BUYER(3, "采购员"), // 采购员

	VENDOR(4, "供应商"); // 供应商

	public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(UserTypeEnum::getValue).toArray();

	/**
	 * 类型
	 */
	private final Integer value;
	/**
	 * 类型名
	 */
	private final String name;

	public static UserTypeEnum valueOf(Integer value) {
		return ArrayUtil.firstMatch(userType -> userType.getValue().equals(value), UserTypeEnum.values());
	}

	@Override
	public int[] array() {
		return ARRAYS;
	}
}
